
package exercicioFila;

public class Aplicacao {
    
    
    public static void main(String[] args) {
        Fila f = new Fila();
        Dequeue(f);
        Enqueue(f, 4);
        Enqueue(f, 2);
        Enqueue(f, 2);
        Enqueue(f, 2);
        Enqueue(f, 2);
        Dequeue(f);
        Dequeue(f);
        Dequeue(f);
        Dequeue(f);
        Dequeue(f);
        Dequeue(f);
        //Enqueue(f, 2);
        //Enqueue(f, 2);
        //Enqueue(f, 2);
        //Dequeue(f);
        //Enqueue(f, 3);
        //Enqueue(f, 6);
        //Enqueue(f, 9);
        //Enqueue(f, 1);
        //Enqueue(f, 1);
        /**Dequeue(f);
        Dequeue(f);
        Enqueue(f, 9);
        Enqueue(f, 8);
        Dequeue(f);
        Enqueue(f, 7);
        Enqueue(f, 7);
        Dequeue(f);
        Dequeue(f);
        Enqueue(f, 1);
        Dequeue(f);
        Dequeue(f);
        */
        
        // Percorre a fila e mostra na tela
        for (int i = 0; i < f.vetor.length; i++) {
        System.out.print(f.vetor[i]+" ");
        }
        
    }
    
    
    
    
    // Retira o primeiro elemento da fila...
    public static void Dequeue(Fila f){
        if (f.inicio == f.pfinal && f.vetor[f.pfinal] == 0) {
            System.out.println("A fila está vazia!");
        }else if(f.inicio == f.pfinal ){
        
        
        
        }else {
        f.vetor[f.inicio] = 0;
        f.inicio++;    
        }
     }
    
    
    //Coloca elementos na fila, da primeira pocisao em diante...
    public static void Enqueue(Fila f, int valor){
        if (f.pfinal == f.vetor.length) {
            System.out.println("A fila está cheia!");    
        }else if(f.vetor[f.inicio]!=0){
            f.vetor[f.pfinal]= valor;
            f.pfinal++;
      }else{
            f.vetor[f.inicio]=valor;
            f.pfinal++;
            
        }
    }
    
    
    //------ classe -------
}